/*
将一个无符号10进制整数的二进制位打印出来。
思路用递归来做。输入参数可以在unsigned long int范围内。
*/

#include <stdio.h>
#include <math.h>
//将一个数字反过来，低位变高位，高位变低位
void myFuncToBin(unsigned long int uNumber);
int main()
{
    for (int i = 555500000; i <= 555500000 + 10; i++)
    {
        printf("%d的二进制数是：", i);
        myFuncToBin(i);
        printf("\n");
    }
}

void myFuncToBin(unsigned long int uNumber)
{
    // 用递归来做。输入参数可以在unsigned long int范围内。
    if (uNumber >= 2)
    {
        myFuncToBin(uNumber / 2);
    }
    if (uNumber % 2 == 1)
        putchar('1');
    else
        putchar('0');
}
